home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1980-01-01 | 3.3 KB | 55 lines |
- 1000 '***********************************************************************
- 1010 '** DOUBLE PRECISION SIN(X) GENERATOR **
- 1020 '***********************************************************************
- 1030 '** GENERATES DOUBLE PRECISION VALUES FOR SIN IN RADIANS **
- 1040 '** FROM THE POWER FORMULA - **
- 1050 '** **
- 1060 '** SIN X = X - (X**3/3!) + (X**5/5!) - (X**7/7!) + (X**9/9!) - ... **
- 1070 '** **
- 1080 '***********************************************************************
- 1090 '** TWO METHODS ARE GIVEN .... **
- 1100 '** 1. BY USE OF THE **
- 1110 '** DEF FNDS#(VARIABLE#) STATEMENT **
- 1120 '** THIS REQUIRES THE VALUE PASSED BE IN RADIANS IN THE RANGE **
- 1130 '** 0 THRU PI/2 (0 THRU 90 DEGREES) PI = 3.14159265358979323846 **
- 1140 '** SIN 90 DEGREES EVALUATES OUT TO 1.00000000066278 **
- 1150 '** 2. BY A SERIES OF EQUATIONS TO GENERATE A VERY ACCURATE **
- 1160 '** FORM OF THE EQUATION. **
- 1170 '** SIN 90 DEGREES EVALUATES OUT TO 1.000000000000000 **
- 1180 '** SIN 360 DEGREES EVALUATES OUT TO 0.00000031126862 APPROX **
- 1190 '** STILL VERY ACURATE FOR MOST SITUATIONS **
- 1200 '***********************************************************************
- 1210 '
- 1220 '
- 1230 '***********************************************************************
- 1240 '** FORM #1 **
- 1250 '***********************************************************************
- 1260 '
- 1270 DEF FNDS#(X#) = X#-X#*X#*X#/6+X#*X#*X#*X#*X#/120-X#*X#*X#*X#*X#*X#*X#/5040 +X#*X#*X#*X#*X#*X#*X#*X#*X#/362880-X#*X#*X#*X#*X#*X#*X#*X#*X#*X#*X#/ 3.99168E+07+X#*X#*X#*X#*X#*X#*X#*X#*X#*X#*X#*X#*X#/6.22702E+09
- 1280 DEGREES# = 90
- 1290 VALUE# = 3.14159/180*DEGREES#
- 1300 A# = FNDS#(VALUE#)
- 1310 PRINT A#
- 1320 '
- 1330 '
- 1340 '***********************************************************************
- 1350 '** FORM #2 **
- 1360 '***********************************************************************
- 1370 '
- 1380 X# = 3.14159/180*DEGREES#
- 1390 A1# = X#
- 1400 A2# = A1#*X#*X#/6 '1*2*3
- 1410 A3# = A2#*X#*X#/20 '4*5
- 1420 A4# = A3#*X#*X#/42 '6*7
- 1430 A5# = A4#*X#*X#/72 '9*8
- 1440 A6# = A5#*X#*X#/110 '10*11
- 1450 A7# = A6#*X#*X#/156 '12*13
- 1460 A8# = A7#*X#*X#/210 '14*15
- 1470 A9# = A8#*X#*X#/272 '16*17
- 1480 A10# = A9#*X#*X#/342 '18*19
- 1490 A11# = A10#*X#*X#/420 '20*21
- 1500 A12# = A11#*X#*X#/506 '22*23
- 1510 A13# = A12#*X#*X#/600 '24*25
- 1520 A14# = A1#-A2#+A3#-A4#+A5#-A6#+A7#-A8#+A9#-A10#+A11#-A12#+A13#
- 1530 PRINT A14#
-